{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7593e235",
   "metadata": {},
   "source": [
    "# Standardized Precipitation Index (SPI)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "00be2d4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from scipy import stats as st\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.dates as mdates\n",
    "import matplotlib.ticker as ticker\n",
    "from scipy.special import erfinv"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f308dab6",
   "metadata": {},
   "source": [
    "# Load Data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "a797fe8f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>YEAR</th>\n",
       "      <th>Months</th>\n",
       "      <th>Precip</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1901-01-31</th>\n",
       "      <td>1901.0</td>\n",
       "      <td>JAN</td>\n",
       "      <td>50.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-02-28</th>\n",
       "      <td>1901.0</td>\n",
       "      <td>FEB</td>\n",
       "      <td>50.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-03-31</th>\n",
       "      <td>1901.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>55.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-04-30</th>\n",
       "      <td>1901.0</td>\n",
       "      <td>APR</td>\n",
       "      <td>60.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-05-31</th>\n",
       "      <td>1901.0</td>\n",
       "      <td>MAY</td>\n",
       "      <td>61.6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              YEAR Months  Precip\n",
       "1901-01-31  1901.0    JAN    50.8\n",
       "1901-02-28  1901.0    FEB    50.4\n",
       "1901-03-31  1901.0    MAR    55.6\n",
       "1901-04-30  1901.0    APR    60.2\n",
       "1901-05-31  1901.0    MAY    61.6"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#data = pd.read_csv('D:/2nd paper/Raw Data/precip data/Cru_Prec/Romania.csv')\n",
    "data = pd.read_csv('D:/2nd paper/Raw Data/precip data/cru_prec/united states.csv')\n",
    "data = data.set_index(\n",
    "   pd.date_range('1901','2022', freq='M'))\n",
    "\n",
    "data.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae9d6b69",
   "metadata": {},
   "source": [
    "# SPI Function (self-defined)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "142b2757",
   "metadata": {},
   "outputs": [],
   "source": [
    "#Standardized Precipitation Index Function\n",
    "def spi(ds, thresh):\n",
    "    #ds - data ; thresh - time interval / scale\n",
    "    \n",
    "    #Rolling Mean / Moving Averages\n",
    "    ds_ma = ds.rolling(thresh, center=False).mean()\n",
    "    \n",
    "    #Natural log of moving averages\n",
    "    ds_In = np.log(ds_ma)\n",
    "    ds_In[ np.isinf(ds_In) == True] = np.nan  #Change infinity to NaN\n",
    "    \n",
    "    #Overall Mean of Moving Averages\n",
    "    ds_mu = np.nanmean(ds_ma)\n",
    "    \n",
    "    #Summation of Natural log of moving averages\n",
    "    ds_sum = np.nansum(ds_In)\n",
    "        \n",
    "    #Computing essentials for gamma distribution\n",
    "    n = len(ds_In[thresh-1:])                  #size of data\n",
    "    A = np.log(ds_mu) - (ds_sum/n)             #Computing A\n",
    "    alpha = (1/(4*A))*(1+(1+((4*A)/3))**0.5)   #Computing alpha  (a)\n",
    "    beta = ds_mu/alpha                         #Computing beta (scale)\n",
    "    \n",
    "    #Gamma Distribution (CDF)\n",
    "    gamma = st.gamma.cdf(ds_ma, a=alpha, scale=beta)  \n",
    "    \n",
    "    #Standardized Precipitation Index   (Inverse of CDF)\n",
    "    norm_spi = st.norm.ppf(gamma, loc=0, scale=1)  #loc is mean and scale is standard dev.\n",
    "    \n",
    "    return ds_ma, ds_In, ds_mu, ds_sum, n, A, alpha, beta, gamma, norm_spi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2c068fe4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alpha = 243.90572142320357\n",
      "Beta = 0.25653825643315953\n"
     ]
    }
   ],
   "source": [
    "Alpha= spi(data.Precip,12) [6]\n",
    "Beta=spi(data.Precip,12) [7]\n",
    "print('Alpha = '  +  str(Alpha))\n",
    "print('Beta = '  +  str(Beta))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9096952b",
   "metadata": {},
   "source": [
    "# Perform SPI computation on Data at Varying Times"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "249bf9b6",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>YEAR</th>\n",
       "      <th>Months</th>\n",
       "      <th>Precip</th>\n",
       "      <th>spi_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1901-01-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>JAN</td>\n",
       "      <td>52.3</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-02-28</th>\n",
       "      <td>1901</td>\n",
       "      <td>FEB</td>\n",
       "      <td>46.7</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-03-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>MAR</td>\n",
       "      <td>49.1</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-04-30</th>\n",
       "      <td>1901</td>\n",
       "      <td>APR</td>\n",
       "      <td>63.8</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-05-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>MAY</td>\n",
       "      <td>34.7</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-06-30</th>\n",
       "      <td>1901</td>\n",
       "      <td>JUN</td>\n",
       "      <td>133.2</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-07-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>JUL</td>\n",
       "      <td>86.7</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-08-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>AUG</td>\n",
       "      <td>104.6</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-09-30</th>\n",
       "      <td>1901</td>\n",
       "      <td>SEP</td>\n",
       "      <td>29.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-10-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>OCT</td>\n",
       "      <td>71.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-11-30</th>\n",
       "      <td>1901</td>\n",
       "      <td>NOV</td>\n",
       "      <td>19.8</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1901-12-31</th>\n",
       "      <td>1901</td>\n",
       "      <td>DEC</td>\n",
       "      <td>42.9</td>\n",
       "      <td>1.296861</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            YEAR Months  Precip    spi_12\n",
       "1901-01-31  1901    JAN    52.3       NaN\n",
       "1901-02-28  1901    FEB    46.7       NaN\n",
       "1901-03-31  1901    MAR    49.1       NaN\n",
       "1901-04-30  1901    APR    63.8       NaN\n",
       "1901-05-31  1901    MAY    34.7       NaN\n",
       "1901-06-30  1901    JUN   133.2       NaN\n",
       "1901-07-31  1901    JUL    86.7       NaN\n",
       "1901-08-31  1901    AUG   104.6       NaN\n",
       "1901-09-30  1901    SEP    29.5       NaN\n",
       "1901-10-31  1901    OCT    71.0       NaN\n",
       "1901-11-30  1901    NOV    19.8       NaN\n",
       "1901-12-31  1901    DEC    42.9  1.296861"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "times = [12]\n",
    "for i in times:\n",
    "    x = spi(data['Precip'], i)\n",
    "    data['spi_'+str(i)] = x[9]\n",
    "\n",
    "data.head(12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "1acc6ddd",
   "metadata": {},
   "outputs": [],
   "source": [
    "data.to_csv('D:/2nd paper/SPI_Stationary/Romania.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d7d97f57",
   "metadata": {},
   "source": [
    "C:\\Users\\HP\\Anaconda3\\lib\\site-packages\\pandas\\core\\series.py:679: RuntimeWarning: divide by zero encountered in log\n",
    "  result = getattr(ufunc, method)(*inputs, **kwargs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "df33dd01",
   "metadata": {},
   "source": [
    "# Visualization of SPI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "62a6b1ee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABvkAAAMWCAYAAADbAOoZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0CElEQVR4nOzdeZgcZbk/7qezDQnJTCCsgYQtBIXIEmQJQdlRAVkMiKBo9BxExQXQIAFkVeLB81UQD+eneExQlE1ZggdQVkV2iAQETBACRJMIJGQmC5ls9fuDkzGTzNLd00tV931fV67MTHdXvVX11Ftv1aerO5ckSRIAAAAAAABAZvSqdgMAAAAAAACAwgj5AAAAAAAAIGOEfAAAAAAAAJAxQj4AAAAAAADIGCEfAAAAAAAAZIyQDwAAAAAAADJGyAcAAAAAAAAZI+QDAAAAAACAjBHyAQAAAAAAQMYI+QAAAAAAACBjhHwAAADUjfHjx0cul4tcLhfjx4+vdnMAAACKJuQDAABIuYsuuqgtmOroX69evaKxsTGGDx8eH/7wh+PCCy+Ml156qdrNBgAAoIyEfAAAABmXJEksWrQoZs+eHb/73e/ikksuiZEjR8anP/3pePvtt6vdPAAAAMqgT7UbAAAAQGE+9KEPtfs9SZJYuHBhvPDCC7F48eK2v//iF7+I559/Ph588MEYNGhQpZsJAABAGeWSJEmq3QgAAAA6d9FFF8XFF1/c9ntnp3GrVq2KW265Jb72ta/F3Llz2/5+xhlnxA9+8IOytxMAAIDK8XGdAAAANaJ3795xwgknxIMPPhgbbrhh29//+7//u90dfgAAAGSfkA8AAKDGjBw5MsaPH9/2e2tra/zxj3+sXoMAAAAoOSEfAABADfrgBz/Y7vdZs2at95yLLroocrlc5HK5OPDAA/Oa7oMPPtj2mlwu1+3z//rXv8a5554bH/jAB2KzzTaLhoaG6NevXwwePDh23nnnOProo+PSSy+Np556qttpPfXUU3HGGWfEPvvsE5tsskn069cvGhoaYsiQIbHrrrvG8ccfH5dffnm8+OKLnU5j/PjxbW1fOwjtyPLly+P3v/99TJw4MQ477LDYZpttYsMNN4x+/frF5ptvHnvttVecccYZ8eSTT3bbdgAAgFLrU+0GAAAAUHobbbRRu98XLlxY0fmvWrUqvvGNb8QPf/jDWL169XqPNzc3R3Nzc7z44otxxx13xAUXXBD/+7//G0ccccR6z126dGmceuqp8atf/arDeS1YsCAWLFgQzz33XPzmN7+Jb37zm/H888/HzjvvXHT7f/vb38anP/3pePvttzt8/I033og33ngjnnrqqbjyyivjuOOOi8mTJ0dTU1PR8wQAACiEkA8AAKAGzZ8/v93vjY2NFZ3/l770pfjJT37S7m/bbbddDBs2LPr16xeLFi2K1157LebNm9f2eEdhYETExz72sfjd737X9nuvXr1ixIgRseWWW0afPn2ipaUlXnnllXbL3Nm08vXqq6+2C/gaGxtjxIgR0dTUFKtWrYq5c+fG3/72t0iSJCIibr311njllVfi0Ucfjf79+/do3gAAAPkQ8gEAANSgdb+D733ve1/F5v3ss8+2C/g+85nPxCWXXBLDhw9f77nz5s2Lu+66K372s591+PGfd9xxR7uAb8KECTFhwoTYdNNN13vuq6++Gv/7v/8b11xzTUmWY/To0TF+/Pj4yEc+EiNGjFjv8blz58ZVV10V3/ve92LlypUxffr0OO+88+L73/9+SeYPAADQFd/JBwAAUGNmzJgR1157bdvvW265Zey///4Vm//UqVPbfh47dmxMmTKlw4AvImKLLbaIz372s/HQQw/Fhz/84fUev/3229t+Pvnkk+Pyyy/vMOCLiNh2223j9NNPj2eeeSbe+9739mgZxo8fH08//XR85Stf6TDgi3h3vV522WXxi1/8ou1vP/nJTyr+0agAAEB9EvIBAADUiFWrVsWvf/3rOOigg2Lp0qVtf//P//zP6NOnch/kMnv27LafCwkXe/fu3eW0PvCBD/RoWoUYOHBg3s/9xCc+Efvtt19ERCxZsqTdnYcAAADl4uM6AQAAMmbdO96SJInm5uZ44YUXYtGiRW1/7927d3z3u9+Nk08+uaLtW/s76f785z+nZlrlNGbMmHjkkUciIuKJJ56IE088scotAgAAap2QDwAAIGPyuVPsE5/4RJx77rkV/S6+NfbZZ5+2n3//+9/H1772tTj//PM7/ZjN7qa15iM7r7nmmthmm23iy1/+cjQ2Npasvd15880345577onp06fHnDlzoqWlJVpbW9s9529/+1vbz3//+98r1jYAAKB+CfkAAABq0MMPPxxvvfVWVeb9sY99LHbYYYd4+eWXIyLihz/8YVx99dXxgQ98IA466KDYb7/9Yt99940NN9yw22n9+7//e/znf/5nLFiwIJIkifPOOy8uvfTSOOigg+LAAw+MsWPHxvvf//5oaGgo+XK89tprMWHChLj11ltj5cqVeb/Od/IBAACV4Dv5AAAAMiZJknb/FixYEM8880ycc8450dTUFBHvfpfdEUccEQ8++GDF29fQ0BB33nlnjBw5su1vK1eujAceeCAuuOCCOPTQQ2Pw4MExduzYuOKKK7oMxTbddNP47W9/G1tssUXb35YtWxZ33XVXfPOb34z9998/Bg8eHIcddlj89Kc/jXfeeacky/Dkk0/G7rvvHjfffHNBAV9ErHeXHwAAQDkI+QAAADJuo402it122y0mTZoUTzzxRNvHYi5btiw++clPVuWOvpEjR8azzz4bP/rRj2KPPfZY7/GVK1fGI488EmeeeWZsu+228dOf/rTTaY0ZMyZmzJgRl112Wey0007rPb5s2bK4995749RTT43tt98+7rjjjh61fcmSJfGxj32sLXzs27dvfOpTn4obbrghnnvuuViwYEEsW7asXdB64YUX9mieAAAAhRLyAQAA1JCRI0fGr371q7bf58yZE+ecc07Jpr9q1aq8n9vQ0BCnn356TJs2LebNmxc333xznHnmmTF69OjI5XJtz2tubo5TTz01fvzjH3c6rcbGxpg4cWL89a9/jddeey2uu+66+OIXvxjvfe972z1v3rx5ceyxx8add95Z+ML9n8mTJ7d9r17fvn3jnnvuiV/84hdx4oknxqhRo2KjjTZa7+NBFy1aVPT8AAAAiiHkAwAAqDGHHnponHTSSW2/T548OZ577rn1ntevX7+2n1esWJHXtN9+++2i2rT55pvH8ccfH9///vfj6aefjr///e9x0UUXxQYbbND2nHPOOSevj9scPnx4fPKTn4yrr746XnjhhXjppZfijDPOiF693j3FXb16dZx55plFtTMi4u677277+aSTTooDDjig29fMnj276PkBAAAUQ8gHAABQg77zne9E3759I+Ld0Ov8889f7zmNjY1tPy9YsCCv6XYUFhZj6NChceGFF8ZVV13V9reFCxfGY489VvC0RowYET/4wQ9i4sSJbX+bOXNmzJo1q6i2vfbaa20/77333t0+P0mSeOSRR4qaFwAAQLGEfAAAADVou+22i/Hjx7f9PnXq1HjqqafaPWebbbZp+/lvf/tbLF26tNvp3nrrrSVrY0TEuHHj2v0+b968qk8r37sa17j77rvjH//4R1HzAgAAKJaQDwAAoEadf/757T6S84ILLmj3+J577tn288qVK+OWW27pcnrXXXddXnfyJUmSdxsXL17c7veNN964bNPK19ChQ9t+/uMf/9jlc5cuXdqjjwYFAAAolpAPAACgRg0fPjw+97nPtf1+1113xaOPPtr2+9ChQ2O//fZr+/3cc8/t9I60O++8M77whS/kNd9PfOITcckll8ScOXO6fN7KlSvj7LPPbvt9gw02iDFjxrR7zkEHHRRXXHFFzJ8/v8tpLVmyJL71rW+1/b7VVlvFjjvumFd713XwwQe3/fzrX/86fvvb33b4vAULFsRRRx0VM2bMKGo+AAAAPdGn2g0AAACgfM4777yYPHlytLa2RkTEt771rbj33nvbHp84cWJ89KMfjYiI2bNnxx577BFf/epXY5999om+ffvGrFmz4pZbbmkLusaPHx9Tpkzpcp7//Oc/46abboqLLroo9ttvv9h///1jt912i0033TT69+8fb7/9dkyfPj1+8YtftAvIzjrrrHbfExgR8eqrr8aZZ54ZEyZMiIMOOijGjBkTo0aNiiFDhkS/fv3irbfeiqeeeiquvfba+Pvf/972ugsvvDB69Srufa2f//zn4z/+4z9i8eLFsXr16jjmmGPilFNOiY9+9KOx+eabx9tvvx0PPfRQ/OxnP4v58+dHY2NjHHnkkXH99dcXNT8AAIBiCPkAAABq2NZbbx2nnnpq/OhHP4qIiPvuuy/+8Ic/xAEHHBAREUcddVR8+ctfbnv8zTffbHdH3NouuuiiOOCAA7oN+dZIkiQefvjhePjhh7t97imnnBIXX3xxp4+vXLky7rnnnrjnnnu6ndY555wTp556al5t7Mhmm20W1157bZx44omxcuXKWL16dVx77bVx7bXXrvfcDTfcMG644YZ4/PHHi54fAABAMXxcJwAAQI0799xzY4MNNmj7fd0Q76qrroorrrgiBg8e3OHrR44cGVOnTo0LL7wwr/mdc845ccopp8SWW27Z7XP32muv+M1vfhM///nPo0+f9d+H+t3vfjeOP/74GDJkSJfT6dWrVxx00EHx4IMPxqRJk/JqZ1c+9rGPxb333hujRo3qdH6HH354TJs2LT7ykY/0eH4AAACFyiWFfIs5AAAANau1tTX+8Ic/xIwZM2Lx4sWx+eabx6hRo2Lvvfcuepqvv/56PP/88/Haa6/FwoULY9WqVdHY2BjDhw+PPffcM7beeuu8p/XSSy/Fiy++GLNnz47m5uaIiGhsbIwddtgh9txzz9hss82KbmdnkiSJadOmxVNPPRXz58+PQYMGxZZbbhn7779/bLHFFiWfHwAAQL6EfAAAAAAAAJAxPq4TAAAAAAAAMkbIBwAAAAAAABkj5AMAAAAAAICMEfIBAAAAAABAxvSpdgPqxerVq2POnDkxaNCgyOVy1W4OAAAAAAAAKZMkSSxatCiGDh0avXp1fa+ekK9C5syZE8OGDat2MwAAAAAAAEi52bNnx9Zbb93lc4R8FTJo0KCIeHejNDY2Vrk1AAAAAAAApE1LS0sMGzasLVfqipCvQtZ8RGdjY6OQDwAAAAAAgE7l89VvXX+YJwAAAAAAAJA6Qj4AAAAAAADIGCEfAAAAAAAAZIzv5AMAAAAAAKhzq1atihUrVlS7GTWvb9++0bt375JMS8jXidtuuy3uuuuueOqpp2LOnDkxf/78GDBgQOy8885x4oknxhe/+MXo169ftZsJAAAAAABQtCRJYt68ebFw4cJqN6VuDB48OLbYYovI5XI9mk4uSZKkRG2qKfvvv388/PDD0dDQEEOHDo0hQ4bE3Llz4x//+EdEROy5555x7733xuDBg/OaXktLSzQ1NUVzc3M0NjaWseUAAAAAAAD5mTt3bixcuDA222yzGDBgQI+DJzqXJEksXbo03njjjRg8eHBsueWW6z2nkDzJnXyd+Pd///f49re/HWPHjo2+ffu2/f2xxx6LE044IZ5++uk477zz4r/+67+q2EoAAAAAAIDirFq1qi3gGzJkSLWbUxf69+8fERFvvPFGbLbZZj366M5epWpUrRk/fnwceOCB7QK+iIh99903vv/970fEux/pCQAAAAAAkEVrvoNvwIABVW5JfVmzvnv6HYhCviK85z3viYiIpUuXVrklAAAAAAAAPeMjOiurVOtbyFeERx99NCIiRo8eXeWWAAAAAAAAUI98J1+eVq1aFXPnzo2pU6fGOeecExtuuGFMmjSp2s0CAAAAAACgDrmTrxtXXHFF5HK56NOnTwwbNixOP/30OOSQQ+Kxxx6Lvffeu9PXtba2RktLS7t/AAAAAAAAmZDLVfZfgd5444047bTTYvjw4dHQ0BBbbLFFfOhDH2r7NMaIiG233TZyuVzkcrkYMGBAjBo1Kn784x+3PT5lypQYPHhwl/P5zne+E/vtt18MGDCgw+dOnz49TjrppBg2bFj0798/3vve98aVV15Z8PIUQ8jXja222irGjh0be++9d2y++eYREfHAAw/E9ddfH6tWrer0dZMmTYqmpqa2f8OGDatUkwEAAAAAAGrauHHjYvr06XHttdfGzJkzY+rUqXHggQfGggUL2j3vkksuiblz58azzz4bxx57bHzhC1+IG2+8Me/5LF++PE444YT44he/2OHjTz/9dGy66aZx3XXXxfPPPx/nnXdeTJw4MX70ox/1aPnykUuSJCn7XGrI448/HqeddlpMnz49vvCFL8R///d/d/i81tbWaG1tbfu9paUlhg0bFs3NzdHY2Fip5gIAAAAAAHRo2bJlMWvWrNhuu+1igw02aP9gEXfX9UgBcdXChQtjo402igcffDAOOOCATp+37bbbxhlnnBFnnHFG299GjhwZe+65Z1x//fUxZcqUOOOMM2LhwoXdzrOQ555++unx4osvxv3339/h412t95aWlmhqasorT3InX4H22WefuPPOO6OhoSF+8pOfxGuvvdbh8xoaGqKxsbHdPwAAAAAAAHpm4MCBMXDgwLjtttva3XCVjw022CBWrFhRppa9q7m5OTbeeOOyziNCyFeUoUOHxu677x6rV6+O6dOnV7s5AAAAAAAAdaNPnz4xZcqUuPbaa2Pw4MExduzYOPfcc+PZZ5/t9DUrV66MKVOmxHPPPReHHHJI2dr26KOPxk033RSnnXZa2eaxhpCvSCtXrmz3PwAAAAAAAJUxbty4mDNnTkydOjU+9KEPxYMPPhijR4+OKVOmtHveN7/5zRg4cGD0798/Tj/99JgwYULZArjnn38+jjnmmLjgggvisMMOK8s81ibkK8Krr77adgffbrvtVuXWAAAAAAAA1J8NNtggDjvssLjgggvikUceifHjx8eFF17Y7jkTJkyIZ555Jl577bVYvHhxXH755dGrV+njsRdeeCEOPvjgOPXUU+P8888v+fQ7IuTrwNNPPx0XXnhhvPLKK+s9dvfdd8dHPvKRWLlyZRxxxBGxww47VKGFAAAAAAAArG3nnXeOJUuWtPvbJptsEiNG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xZ577hkDBw6MQYMGxV577RVXX3218+YUS5Ik/vSnP8WECRNi3333jcGDB0e/fv1i6NChMW7cuHjggQe6fP2jjz4axxxzTGy66abRv3//2HnnnePSSy+NZcuWdfm6F198MT75yU/GlltuGRtssEHssMMO8Y1vfCMWLlzY5evUSvVUulZcv82uStdKKq/dJlCHvva1ryURsd6/Sy+9tNPX/P3vf0923HHHJCKS3r17J7vttluy8847J7lcLomI5Atf+EKHr7v11ls7nNchhxzSbTuff/75ZOONN04iImlqakpGjx6dNDU1JRGRDBkyJHnxxReLXgfkr1L1snLlynbT33rrrZP3v//9yWabbdb2t8MPPzx55513Opyneqm+SvYt5513Xttrttpqq2TPPfdMdthhh6R3795t23zatGkdvlatVF8la2Vd77zzTjJixIi8jkdqpfoqWSuTJ09OIiLZbLPNkrFjx3b477HHHuvwtWql+irdr6xevTr5whe+0G7cstdeeyXbbrtt0qdPn2TIkCEdvk6tVF8la+X444/vtD/ZY4892ub9u9/9br3XqpV0qGS9LFmyJBkzZkzbPLbddttk9OjRyeDBg9v+9h//8R8dvla9VF8la6WlpSXZZ599kohIcrlcsvPOOye77bZb27nQUUcdlaxYsaLD16qV6rr33nvbaqNXr17JyJEjkz322CMZOHBg29/PP//8Dl973XXXtW3jrbbaKtljjz2Svn37JhGR7LXXXsmSJUs6fN3999+f9O/fP4mIZNNNN01Gjx6dDBgwIImIZPvtt0/mzZvX4evUSnVVulZcv82uStZKWq/dCvmoS5deemly1FFHJZdcckly1113JePGjet28HnQQQclEZHssssuyaxZs9r+/swzzyRDhw5NIiL5+c9/vt7r7r777uSDH/xg8o1vfCO56aabkssuuyyvg8TKlSuTnXfeOYmIZNy4cW2dyuLFi5OPfexjSUQku+66a7Jq1ariVgJ5q1S9rFixIhk8eHBy/vnnJy+//HK7x2688ca2QenXv/719eanXtKhkn3L73//++SWW25Jmpub2/391VdfTQ4++OC2aa5LraRDJWtlXWsC4qOPPrrL45FaSYdK1sqakO8zn/lMQW1UK+lQ6X5l4sSJSUQko0aNSp544ol2jzU3NydTp05d7zVqJR2qeQxa2zXXXJNERLLlllsmK1eubPeYWkmPStbLpZde2nYRfu03lSxfvjy56KKL2oKgl156qd3r1Es6VLJWPvvZzyYRkQwdOjR55pln2v4+a9asZJdddkkiIrnkkkvWe51aqb577rknGTFiRHL11VcnCxYsaPt7a2tr29giIpI77rij3etmzZqVNDQ0JBGRXH755cnq1auTJHn3/HennXZKIiI5/fTT15tfS0tLsummmyYRkXz1q19Nli9fniRJkrz11lvJ2LFjk4hIjjzyyPVep1aqr9K14vptdlWyVtJ67VbIB0mSfOYzn+ly8PnMM8+0dQiPPvroeo/fcMMNbe8A6s6aC2jdHSRuuummthS/paWl3WMtLS3JkCFDkohIbrnllm7nSWmVq15Wr17d7mC0ru9+97tJRCQbbbTReh2+ekmnSvYta/vnP//Z9u7XmTNntntMraRTpWrlhRdeSPr165d85CMf6fZ4pFbSqZy1UmzIp1bSqZy18txzzyW9e/dONt100+Sf//xn3m1SK+lUrfHKBz/4wU4vgqiV9Cpnvey7775JRCQ//OEPO5z27rvvnkREcvXVV7f7u3pJp3LVyltvvdV218UNN9yw3useffTRJCKSQYMGJYsXL273mFqpvubm5k7vskySJPnIRz7S9obEtX3pS19KIt69Q2ZdDz/8cBIRSd++fde7K+/yyy9PIiJ573vfu94bSl577bWkT58+SUQkTz/9dLvH1Er1VbpW1uX6bXZUslbSeu3Wd/JBHh5++OGIiNh6661j3333Xe/x4447Lnr16hWvvPJKPP300yWZ5y233BIRER//+Mdj0KBB7R4bNGhQnHDCCRERcfPNN5dkfpROsfWSy+Vio4026nS6hx9+eEREvP322/Hmm2+2e0y9ZFO5+pbNNtusrZaWLl3a7jG1kk2lqJUkSeK0006LXr16xY9+9KNu56lWssmYhXz1pFZ+9KMfxapVq+JrX/tabLbZZnnPU61kUzn6lddeey0eeuihiIg45ZRT1ntcrWRXT+rlnXfeiYiI7bffvsNp77DDDhERsXLlynZ/Vy/ZVGytPP7447Fq1aro1atXHHfcceu9bt99942tttoqFi1atN53CauV6mtsbIw+ffp0+vhhhx0WEe9+59UaSZLErbfeGhER//Zv/7bea/bbb794z3veEytWrIjbb7+93WNrtvn48eOjd+/e7R4bPnx42/et/frXv+7wdWqleipdK8VSK9VXyVpJ67VbIR/k4e23346IiK222qrDx/v16xebbLJJREQ89thjJZnnmumMHTu2w8fX/P3xxx8vyfwonXLVy9pf+Nq/f/92j6mXbCpXrcycOTMWLFgQgwYNih133LHdY2olm0pRK//zP/8TDz30UEycOLHTi2drUyvZVIpamT59epx88slx8MEHx7HHHhsXX3xxvPzyy53OU61kU09q5Y477oiIiKOOOiqmTZsWp59+ehx22GFxzDHHxGWXXRZvvPFGh9NUK9lUjvHKL3/5y0iSJN73vvfFbrvttt7jaiW7elIvu+66a0REPPLII+u9rrW1tS3o2Wuvvdo9pl6yqdhaWfO6TTfdNPr169fha9dMc90aUyvpt+a6x9rXPF5//fWYO3duRBS27VauXNnWbxS6zdVK+pWyVnpCraRfJWulWtduhXyQh6ampoiI+Mc//tHh48uXL4+33norIiJmzJjR4/ktX748Xn/99Yjo/F2Ma/7+6quvxooVK3o8T0qnXPVy0003RUTEqFGjorGxsd301Es2lbpW3nrrrZg6dWocffTRERExadKkGDBgQLvpqZVs6mmtvPnmm/HNb34zRowYEd/85je7nZ9aya5S9CvPPPNMXH/99fHAAw/E7bffHhdddFHstNNO8Z3vfKfD6amVbCq2VubNmxdz5syJXC4XDzzwQOy9995x9dVXx7333htTp06N8847L3bccce4995715ueWvn/27v/mCbOPw7g7/KjiBZBHKyKuhJ1FZwKY0wjyTQyNkWmKGYzuumW6OayH+ow+0mii1syXTbJtrhki0ENTjdjlBgT49BplGU4A0Zx/haCouIPFPFXsfj5/sH3bi1tBdrS3rH3K2kCz93Tqz5vrnfPc/ecPnXFsW1xcTEA93fxMSv65ktePv74Y5hMJnz99df49ttvUVdXh3v37uHw4cPIy8tDTU0NXn31Vae7vpgX/fI2K0q9a9euobm52W1d5T0d6zEr2ici6h0sjp3gp0+fBgBERESgf//+busqbaesCzi3Y3tt7liPWdE+f2fFW8yK9gU6K8Hqu+UgH1EHKFcKXrhwAQcPHnRZvm3bNjx8+BDAv1eV+aKxsVF9P0+3ACvlDx8+xK1bt3zeJvlPV+SlqqoKq1evBgB8+OGHTsuYF/3y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JgAkISFBjh496nF7ju9pMpkEgISHhzuVb9y40aXe0aNHpU+fPgJAoqOjJS0tTaKjowWAxMbGunScUNcIVF7q6urEYDAIAImPj5eMjAyPr0uXLrnUZ16CL5D7FqWTIyoqSkaNGiVpaWliNpudMnTw4EG3dZmV4Av095A7HTlpYVaCL1BZuXHjhrpfiYmJkdTUVElPT5eYmBi1fNKkSXLv3j23n5NZCb5A71f+/vtv6d27twCQPn36SHp6usTFxQkACQ0NlbVr17qtx6wEXzC+gy5cuCAhISECQA4fPtyhz8msaEMg81JTUyODBg1Sv3cSEhIkJSVFoqKi1LL58+e7rcu8BF8gs7J161a1gzU5OVlSUlLUC5JiYmJkz549Hj8nsxJcv/zyi/r3PHToUI99HjNmzHCpu27dOvW7JCEhQVJTUyU8PFwASFpamty+fdvtNktLS9V8xMXFSVpamvTs2VMAiMVicdu/IsKsBFswssL+W30KZFa02nfLQT76T/rjjz/UP/5Hvaqrq9U6lZWVMmfOHBk6dKj06tVLTCaTjBw5UpYtW+Zyp0xbHdlWUVGR27q1tbUyb948SUhIEKPRKAkJCTJ//nw5f/68H/9H6FEClZfq6uoObaftthwxL8EVyH3L+vXrZe7cuZKcnCyxsbESFhYmsbGxkpGRIV9++aU0NDQ88rMyK8EV6O8hdzp6ZSKzElyBykpzc7OsXLlScnNzZciQIdK7d28JDw8Xs9kskydPll9//dXlzuG2mJXgCsZ+paamRubNmycDBgyQ8PBwiYuLk+nTp7vcEdoWsxJcwcjKihUrBICMGDGiU5+VWQm+QOflxo0bsnTpUklNTRWTySRhYWESFxcnkyZNcrmDry3mJbgCmZVz587JW2+9JcnJyRIVFSWRkZFitVolPz/f44CNI2YleJRzkPZeTzzxhNv6ZWVlkpOTI7GxsRIRESFWq1WWLVvm8UI0RVVVlcycOVPi4+PFaDRKYmKifPDBBzxv1rBgZIX9t/oUyKxote/WIPL/JxcTERERERERERERERERkS6EBPsDEBEREREREREREREREVHncJCPiIiIiIiIiIiIiIiISGc4yEdERERERERERERERESkMxzkIyIiIiIiIiIiIiIiItIZDvIRERERERERERERERER6QwH+YiIiIiIiIiIiIiIiIh0hoN8RERERERERERERERERDrDQT4iIiIiIiIiIiIiIiIineEgHxEREREREREREREREZHOcJCPiIiIiIiIiIiIiIiISGc4yEdERERERERERERERESkMxzkIyIiIiIiIiIiIiIiItIZDvIRERERERERERERERER6QwH+YiIiIiIiIiIiIiIiIh05n8SGFEK4rXLDwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1800x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['Date'] = pd.date_range('1901-01-01', '2021-12-01', freq='MS')\n",
    "# Plotting\n",
    "fig, ax = plt.subplots(nrows=1, figsize=(18, 8))\n",
    "plt.subplots_adjust(hspace=0.15)\n",
    "\n",
    "# Plot each spi_* column\n",
    "for i in range(len(times)):\n",
    "    col_name = 'spi_' + str(times[i])\n",
    "    col_scheme = np.where(data[col_name] > 0, 'b', 'r')\n",
    "    ax.bar(data['Date'], data[col_name], width=25, align='center', color=col_scheme, label='SPI '+str(times[i]))\n",
    "\n",
    "ax.axhline(y=0, color='k')\n",
    "\n",
    "# Set x-axis major formatter to show years\n",
    "ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y'))\n",
    "\n",
    "# Set x-axis major locator to 20-year intervals\n",
    "years = mdates.YearLocator(base=10, month=1, day=1)\n",
    "ax.xaxis.set_major_locator(years)\n",
    "\n",
    "# Set x-axis limits from 1901 to 2021\n",
    "ax.set_xlim(pd.Timestamp('1901-01-01'), pd.Timestamp('2021-12-31'))\n",
    "\n",
    "ax.legend(loc='upper right')\n",
    "ax.set_yticks(range(-3, 4))  # Adjust the y-axis tick range as needed\n",
    "# Increase fontsize of y-axis tick labels\n",
    "ax.tick_params(axis='y', labelsize=16)\n",
    "\n",
    "# Increase fontsize of x-axis tick labels\n",
    "ax.tick_params(axis='x', labelsize=16)\n",
    "ax.set_ylabel('SPI', fontsize=24)\n",
    "\n",
    "plt.title(\"Russia\", fontsize=26)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "22a38c99",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
